When management of plural attributes of a person or an object, which is associated with an entity identifier (ID), is shared among plural databases for example, client computers (also referred to as clients) may obtain, in an integrated manner, attribute values of the attributes managed in the respective databases through an integrated identity management technique. FIG. 1 is a diagram illustrating an example of an integrated identity management system. FIG. 2 is a diagram illustrating an example of integrated identity data. In the example illustrated in FIG. 1, an attribute_A and an attribute_B are managed in a database_A, an attribute_C is managed in a database_B, and an attribute_D is managed in a database_C. The integrated identity management system includes an integrated identity management device. The integrated identity management device holds information regarding which attribute is managed in which database, and integrates attribute values of the attribute_A to attribute_D managed in the respective databases to provide clients with integrated identity data as illustrated in FIG. 2, for example.
In such an integrated identity management system, when the integrated identity management device has received an “AND” search request including plural search conditions each of which contains a combination of an attribute name and an attribute value, the integrated identity management device cross-searches the plural databases so as to extract data that satisfies all the search conditions. Cross search methods include, for example, a method of searching plural databases in parallel and a method of sequentially searching plural databases one by one.
Japanese Laid-open Patent Publication No. 2008-217600, No. 9-34759, No. 2004-280528, and No. 2007-213601 disclose related techniques.
However, known cross search methods have the following problems. Executing a method of searching plural databases in parallel may increase network load and processing time when a hit count, which represents an amount of entity IDs found in a search, in individual search results is large, because it may take time to merge the individual search results, and because useless data that does not remain in a final search result may be extracted from the individual databases. Executing a method of sequentially searching plural databases one by one may take more time than executing parallel search when the number of databases is large.